﻿using Newtonsoft.Json;
using WMS.FC.Domain.DomainObject.System;

namespace WMS.FC.Domain.ValueObject.System
{
    /// <summary>
    /// 页面菜单配置
    /// </summary>
    public class PageConfigVO : ValueObjectBase
    {
        /// <summary>
        /// 主键
        /// </summary>
        [JsonProperty("id")]
        public string Id { get; set; } = string.Empty;

        /// <summary>
        /// 名称
        /// </summary>
        [JsonProperty("name")]
        public string Name { get; set; } = string.Empty;

        /// <summary>
        /// 图标
        /// </summary>
        [JsonProperty("icon")]
        public string Icon { get; set; } = string.Empty;

        /// <summary>
        /// 类型编码
        /// </summary>
        [JsonProperty("typeCode")]
        public string TypeCode { get; set; } = string.Empty;

        /// <summary>
        /// 菜单位置
        /// </summary>
        [JsonProperty("menuPositionCode")]
        public string MenuPositionCode { get; set; } = string.Empty;

        /// <summary>
        /// 菜单地址
        /// </summary>
        [JsonProperty("url")]
        public string? Url { get; set; }

        /// <summary>
        /// 字段列表
        /// </summary>
        [JsonProperty("columnList")]
        public List<ElColumnVO> ColumnList { get; set; } = new List<ElColumnVO>();

        /// <summary>
        /// 按钮列表
        /// </summary>
        [JsonProperty("buttonList")]
        public List<PageConfigVO> ButtonList { get; set; } = new List<PageConfigVO>();

        /// <summary>
        /// 数据字典
        /// </summary>
        [JsonProperty("dictionary")]
        public Dictionary<string, List<IdTextPair>> Dictionary = new Dictionary<string, List<IdTextPair>>();
    }
}
